home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 22
/
Amiga Format AFCD22 (Jan 1998, Issue 106).iso
/
-seriously_amiga-
/
shareware
/
workbench
/
-dopus-
/
empdopus
/
source
/
dragd2d.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1997-11-05
|
2KB
|
95 lines
/*$VER: DragD2D.rexx 1.1 (18.10.97) B00ze
* God even basic Diskmaster functionality is a pain to add to Dopus.
* For questions or comments email Booze@Videotron.CA
*
* USAGE: REXX: DragD2D.rexx {Qp} {Qd} {Qa}
*
* PROGRAM HISTORY
*
* v1.0 -Initial idea and code.
*
* v1.1 -Improved signal traps.
* -ReEnabled the signal traps in case something goes wrong,
* BreakC especially should never be left out...
*
*/
PN='DragD2D.rexx'
SH=0;WIN=0;LF='0A'x /* These are globals needed by almost every function I use! */
Options results
Signal ON SYNTAX
Signal ON BREAK_C
Signal ON FAILURE
PARSE ARG P DH A
/* MAIN */
A=Strip(A)
If A="" Then Exit 10 /* No directoryname to read */
Address VALUE P
If DH=0 Then Do
DL.=0
'Lister Query Dest Stem DL.'
If DL.count=0 Then Exit 10 /* No Destination Lister To Work With! */
DH=DL.0
End
'Lister Set' DH 'Busy 0'
'Lister Read' DH '"'A'"'
Exit 0
/*-----------------------------------------------------------
ERROR HANDLERS
-----------------------------------------------------------*/
BREAK_C:
Address VALUE P
If SH~=0 Then Do
'Lister Set' SH 'Busy 0'
'Lister Set' SH 'Title'
'Lister Refresh' SH 'FULL'
RCMD='Lister Request 'SH
End
Else RCMD='Dopus Request'
'Command Flash'
RCMD' "+++ Break! +++" OK'
/* Call Close('F') */
Exit 0
SYNTAX:
RCX=RC
Address VALUE P
If SH~=0 Then Do
'Lister Set' SH 'Busy 0'
'Lister Set' SH 'Title'
'Lister Refresh' SH 'FULL'
RCMD='Lister Request 'SH
End
Else RCMD='Dopus Request'
'Command Flash'
RCMD' "+++ Syntax Error +++'LF'('RCX') at line 'SIGL||LF||errortext(RCX)'" OK'
/* Call Close('F') */
Exit 20
FAILURE:
Address VALUE P
If SH~=0 Then Do
'Lister Set' SH 'Busy 0'
'Lister Set' SH 'Title'
'Lister Refresh' SH 'FULL'
RCMD='Lister Request 'SH
End
Else RCMD='Dopus Request'
'Command Flash'
RCMD' "+++ Failure +++'LF'Something failed at line 'SIGL'" OK'
/* Call Close('F') */
Exit 20